// 滑动窗口
function minSubArrayLen(target, arr) {
  // 总和
  let sum = 0;
  // 长度的结果(取最大的)
  let result = Infinity;
  // 起始位置i和终止位置j
  let i = 0;
  for (let j = 0; j < arr.length; j++) {
    sum += arr[j];
    // 应该用while循环，用if的话不然比较一次就结束了
    while (sum >= target) {
      // 如果sum大于target的话
      // 1.保存此时的长度（需要作比较）
      let subLen = j - i + 1;
      result = Math.min(result, subLen);
      // 2.重新计算sum=sum-arr[i]
      sum = sum - arr[i];
      // 3.i向右移动
      i++;
    }
  }
  return result === Infinity ? 0 : result;
}

const arr = [2, 3, 1, 2, 4, 3];
const res = minSubArrayLen(7, arr);
console.log(res);
